完成資料篩選後,我們可以針對特定欄位進行排序,幫助我們快速整理與觀察,以下將透過案例替大家介紹兩種資料排序的方式,內容包含:
線上課程資訊
程式碼
import pandas as pd
data = {'title':['Simple, Healthy Fall Recipes','Learn to Program with C++',
'CSS Fundamentals','HTML Workshop','Planning Your Podcast',
'Cake Decorating For Fun '],
'category':['Lifestyle','Development','Development',
'Development','Business','Lifestyle'],
'price':[20,60,50,20,50,40]}
df = pd.DataFrame(data)
Pandas 提供 sort_values(by =‘欄位名稱’, ascending = True 或 False)
方法排序。
1. 單一欄位排序:於參數 by 指定欄位名稱
舉例:將資料依據 price 欄位分別進行升冪和降冪排序
price_asc = df.sort_values(by='price') # 依price升冪排序
price_desc = df.sort_values(by='price',ascending = False) # 依price降冪排序
print(price_asc)
print('---------------------------------------------------')
print(price_desc)
輸出結果:
2. 多欄位排序:於參數 by 使用列表(list)指定多個欄位名稱
舉例:將資料依據 category 和 price 兩個欄位排序,先排 category 再排 price
multi_sort = df.sort_values(by=['category','price'])
print(multi_sort)
輸出結果:
若不同欄位有不同排序的需求時,可於參數 ascending 分別設定。
舉例:依據 category 和 price 兩個欄位排序,先降冪排 category 再升冪排 price
mix_sort = df.sort_values(by=['category','price'],ascending=[False,True])
print(mix_sort)
輸出結果:
Pandas 提供 sort_index(ascending = True 或 False)
方法排序。
舉例:依 DataFrame 的索引值做升冪、降冪排序
asc = df.sort_index # 升冪排序df
desc = df.sort_index(ascending=False) #降冪排序df
print(asc)
print('---------------------------------------------------')
print(desc)
輸出結果:
善用 sort_values()
和 sort_index()
函數,搭配參數的設定,便能輕鬆完成資料排序!如果有任何不理解、錯誤或其他方法想分享的話,歡迎留言給我!喜歡的話,也歡迎按讚訂閱!
我是 Eva,一位正在努力跨進資料科學領域的女子!我們下一篇文章見!Bye Bye~
【本篇文章將同步更新於個人的 Medium,期待與您的相遇!】